Skill tree
Linked List, from scratch {{ subline }}
{{ rung.badge }}
{{ rung.title }} {{ rung.prompt }}
Build this {{ rung.goalText }}
parameter {{ param.text }}
this LinkedList
head
size {{ listBox.size }}
{{ v.name }}
unreachable
Node {{ c.oid }}
data {{ c.dataText }}
next
the void · lost nodes fall here
workbench · not linked in yet
{{ attractCaption.text }}
{{ fieldDiagram.className }}
{{ f.uml }} {{ f.nameText }} {{ f.typeText }}
{{ fieldDiagram.kicker }}
!{{ jls.title }}

{{ jls.body }}

{{ jls.link }}
{{ l.n }} {{ l.text }}
{{ typing.n }}
Fill in the fields
access modifier type name
Tap a piece to drop it in, then Enter
{{ practiceHud.left }} {{ practiceHud.score }}
{{ insight.icon }}
{{ insight.title }}

{{ insight.body }}

{{ insight.link }}
{{ takeaway.kicker }} {{ takeaway.title }}

{{ takeaway.body }}

{{ e.code }} {{ e.note }}

{{ takeaway.note }}

Practice Gallery unlocked

You built the class and wrote your first three methods. Now keep the streak going: fresh lists, your code, as chill or as fast as you like.

Practice Gallery

Pick a method and a vibe. Every round hands you a fresh list, write the method, watch it run, keep the chain alive.

Time!
{{ result.score }}

{{ result.line }}